﻿using EnqueteMobile.Repository.Database.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EnqueteMobile.Repository.Database.EntityFramework
{
    public class MobilePollContext : DbContext
    {
        static MobilePollContext()
        {
            Database.SetInitializer(new NullDatabaseInitializer<MobilePollContext>());
        }

        internal MobilePollContext() : base("name=MySQL")
        {
            base.Configuration.AutoDetectChangesEnabled = false;
        }

        internal MobilePollContext(String connectionName) : base(String.Concat("name=", connectionName))
        {
            base.Configuration.AutoDetectChangesEnabled = false;
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }

        public virtual DbSet<AssuntoMensagem> AssuntoMensagem { get; set; }
        public virtual DbSet<Cidade> Cidade { get; set; }
        public virtual DbSet<Cliente> Cliente { get; set; }
        public virtual DbSet<ConfiguracaoCliente> ConfiguracaoCliente { get; set; }
        public virtual DbSet<ControleComunicacao> ControleComunicacao { get; set; }
        public virtual DbSet<Endereco> Endereco { get; set; }
        public virtual DbSet<LogApp> LogApp { get; set; }
        public virtual DbSet<LogBD> LogBD { get; set; }
        public virtual DbSet<Pessoa> Pessoa { get; set; }
        public virtual DbSet<Recurso> Recurso { get; set; }
        public virtual DbSet<RG> RG { get; set; }
        public virtual DbSet<Sistema> Sistema { get; set; }
        public virtual DbSet<Telefone> Telefone { get; set; }
        public virtual DbSet<TipoAcaoAplicacao> TipoAcaoAplicacao { get; set; }
        public virtual DbSet<TipoEndereco> TipoEndereco { get; set; }
        public virtual DbSet<TipoObjeto> TipoObjeto { get; set; }
        public virtual DbSet<TipoObjeto_Recurso> TipoObjeto_Recurso { get; set; }
        public virtual DbSet<TipoObjetoPermissao> TipoObjetoPermissao { get; set; }
        public virtual DbSet<TipoRecurso> TipoRecurso { get; set; }
        public virtual DbSet<TipoTelefone> TipoTelefone { get; set; }
        public virtual DbSet<TituloEleitoral> TituloEleitoral { get; set; }
        public virtual DbSet<UnidadeFederativa> UnidadeFederativa { get; set; }
        public virtual DbSet<Usuario> Usuario { get; set; }
    }
}